
package at.fhj.ase.clientarch.common.component;

import java.rmi.Remote;
import java.rmi.RemoteException;

import at.fhj.ase.clientarch.common.User;

/**
 * Interface responsible dealing with user issues like authentication on the server.
 * 
 * @author cja, sfe | www.fh-joanneum.at | Client Architectures and Design
 */
public interface IUserComponent extends Remote {
  public static final String NAME = "UserComponent";

  /**
   * @param user the {@link User} that has to be authenticated
   * @return <code>true</code> if the authentication on serer was successful, otherwise <code>false</code>.
   */
  boolean authenticateUser(final User user) throws RemoteException; //TODO maybe throw exception here if user not able to auth!?
}
